1. Technical Field
This invention relates to data communication systems. More particularly, this invention relates to the recovery using oversampling in a receiving system of digital data transmitted via a high-speed link.
2. Description of Related Art
As electronic and computer technology continues to evolve, communication of information among different devices, either situated near by or at a distance becomes increasingly important For example, it is now more desirable than ever to provide for high speed communications among different chips on a circuit board, different circuit boards in a system, and different systems with each other. It is also increasingly desirable to provide such communications at very high speeds, especially in view of the large amount of data required for data communications in intensive data consuming systems using graphical or video information, multiple input-output channels, local area networks, and the like.
It is particularly desirable to enable individual personal computers, workstations, or other computing devices, within which data is normally internally transferred using parallel data buses, to communicate with each other over relatively simple transmission lines. Such transmission lines typically include only one or two conductors, in contrast with the 64-bit and wider data paths within computing systems now commonly available.
A communication system that includes oversampling is often utilized to recover data transmitted data. Such a system includes a receiver which samples the incoming serial data stream at a rate greater than the rate at which symbols (bits) are being transmitted. For example, in a three-times (3.times.) oversampling receiver, the incoming data stream is sampled at a rate approximately three times the symbol rate. However, there are various problems to overcome in order to effectively implement such a receiver when the rate of data transmission is very high.
One problem is the difficulty in handling overflow and/or underflow of incoming data at the receiving end. For example, usually the output of a 3.times. oversampler contains sets of three consecutive 1s or 0s, but occasionally 4 or 2 consecutive 1s or 0s may occur. Such overflow and/or underflow will occasionally occur, for example, when the frequency of the local clock of the transmission system is not in precise synchronization with the local clock of the receiving system, when there is jitter in the sampling clock, and so on.
Other problems include difficulties in determining the correct symbol (bit) boundaries in the oversampled data stream and difficulties in determining the correct values of the symbols from the multiple samplings of each symbol.